// utils/request.js
function request(options) {
  // 从缓存中获取 token
  const token = wx.getStorageSync('token');
  
  // 合并默认配置（添加 token 到 header）
  const defaultOptions = {
    header: {
      'Content-Type': 'application/json',
      // 后端要求的 token 字段（常见为 Authorization，可能需带 Bearer 前缀）
      'Authorization': token ? `Bearer ${token}` : '' 
    },
    method: options.method || 'GET',
    url: options.url,
    data: options.data || {}
  };

  return new Promise((resolve, reject) => {
    wx.request({
      ...defaultOptions,
      success: (res) => {
        // 处理成功响应（可根据后端状态码做统一处理，如 token 过期）
        if (res.statusCode === 200) {
          resolve(res.data);
        } else if (res.statusCode === 401) {
          // token 过期，跳转登录页
          wx.showToast({ title: '登录过期，请重新登录', icon: 'none' });
          wx.redirectTo({ url: '/pages/login/login' });
          reject(res);
        } else {
          reject(res);
        }
      },
      fail: (err) => {
        reject(err);
      }
    });
  });
}

export default request;